home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 21 / Cream of the Crop 21 (Terry Blount) (October 1996).iso / comm / msged400.zip / msged.doc < prev    next >
Text File  |  1996-08-10  |  94KB  |  2,090 lines

  1.  
  2.  
  3.                              Msged
  4.                              -----
  5.                             
  6.  
  7.           A Public Domain *.MSG & Squish Compatible Message Editor
  8.  
  9.             Authored by lots of people, see credits for details
  10.  
  11.    At time of release, being maintained by Paul Edwards, 3:711/934@fidonet
  12.  
  13.  
  14.  
  15.      ┌─────────────────────────────────────┐ 
  16.      │▒▒ Instructions and Disclaimer     ▒▒│ 
  17.      └─────────────────────────────────────┘ 
  18.       
  19.      Obviously there is no warranty on this program and the authors 
  20.      assume no liability for anything it may do.
  21.  
  22.      To run the DOS version of this program you need somwhere
  23.      around 300k of RAM.  You will also need MS or PC-DOS 3.3
  24.      and above for all the file sharing to work. You most definitely
  25.      need to run share.exe if you plan to run it in a multitasking
  26.      environment.
  27.  
  28.      For use under OS/2 2.0 and later, the above does not apply.
  29.  
  30.  
  31.  
  32.                             C o n t e n t s
  33.      ──────────────────────────────────────────────────────────────────
  34.      Heading                                                    Section
  35.      ──────────────────────────────────────────────────────────────────
  36.  
  37.      Notes Concerning Copyright ................................... A
  38.  
  39.      Introduction ................................................. B
  40.           Document Conventions .................................... B1
  41.           Memory Considerations ................................... B2
  42.           Share Support ........................................... B3
  43.      
  44.      Configuration Options ........................................ C
  45.           Installation ............................................ C1
  46.           Command Line ............................................ C2
  47.           Configuration File ...................................... C3
  48.           Name .................................................... C4
  49.           Address <address> ....................................... C5
  50.           Alias <alias,name,<[address]|[UUCP]>,subject[,]]> ....... C6
  51.           Help Files .............................................. C7
  52.           Outfile <filename> ...................................... C8
  53.           Include <filename> ...................................... C9
  54.           Lastread <filename> ..................................... C10
  55.           Tosslog <filename> ...................................... C11
  56.           Primary and Secondary Userlist .......................... C12
  57.           Swappath <path to swapfile> ............................. C13
  58.           Curstart <start scanline> ............................... C14
  59.           Curend <end scanline> ................................... C15
  60.           Nodepath <path to nodelists> ............................ C16
  61.           Nodelist <domain name> <base name> <sysop file name> .... C17
  62.           AreaFile <s[quish]|a[rea]> [[path][filename]] ........... C18
  63.           Useroffset <offset into sql file> ....................... C19
  64.           QQuotes ................................................. C20
  65.           SqlLast ................................................. C21
  66.           Video <type> ............................................ C22
  67.           Colours <type> <foreground>[+]/<background>[+] .......... C23
  68.           Monochrome Monitors ..................................... C24
  69.           Attribution <attribution line> .......................... C25
  70.           Editor <external editor> ................................ C26
  71.           Template <template file> ................................ C27
  72.           Group <"search string"> <name index> <template index> ... C28
  73.           Robotname <"robotname"> ................................. C29
  74.                                                                  
  75.      Reply Functions Config ....................................... D
  76.           AlterFunc <function> <action(s)> ........................ D1
  77.           Switches ................................................ D2
  78.           Quote <quote string> .................................... D3
  79.           Margins ................................................. D4
  80.           Area Definitions ........................................ D5
  81.                          Mail ................................... i     
  82.                          Echo .................................. ii    
  83.                          Uucp ................................. iii   
  84.                          News .................................. iv    
  85.           Origin  <origin line> ................................... D6
  86.           Uucp <address> .......................................... D7
  87.           Domain <address> ........................................ D8
  88.           Gate <gate type> ........................................ D9
  89.           Editkey and Readkey ..................................... D10
  90.           Function ................................................ D11
  91.                                                                  
  92.      Using Msged .................................................. E
  93.           Screen Format ........................................... E1
  94.  
  95.      Basic Usage (Or: a small primer) ............................. F
  96.           Quotes & Text Formatting ................................ F1
  97.  
  98.      Network Addressing (And Gates) ............................... G
  99.                Network Gating ..................................... G1
  100.                Zone Gating ........................................ G2
  101.                Domain Gating ...................................... G3
  102.                Host Routing ....................................... G4
  103.                                                                  
  104.      Carbon Copies ................................................ H
  105.  
  106.      Cross Posting ................................................ I
  107.  
  108.      Internet and Msged ........................................... J
  109.  
  110.      Msged and Points ............................................. K
  111.  
  112.      Default Reader Key Definitions ............................... L
  113.  
  114.      Edit Mode Key Definitions .................................... M
  115.  
  116.      Redefining the Keyboard ...................................... N
  117.           Function Key Macros ..................................... N1
  118.           Caveats ................................................. N2
  119.  
  120.      Contacting the Author ........................................ O
  121.  
  122.      Hints/Panic Questions Etc .................................... P
  123.           Hints ................................................... P1
  124.  
  125.      ReadKey Commands .................................... Appendix A
  126.      EditKey Commands .................................... Appendix B
  127.      Template Tokens ..................................... Appendix C
  128.      Origin Line philosophy .............................. Appendix D
  129.      Credits ............................................. Appendix E
  130.      Miscellaneous Notes ................................. Appendix F
  131.  
  132.  
  133.     ┌─────────────────────────────────────┐
  134.  A. │▒▒ Notes Concerning Copyright      ▒▒│
  135.     └─────────────────────────────────────┘
  136.  
  137.      This program is released to the public domain. There are absolutely
  138.      no distribution restrictions, and you may legally use this product 
  139.      as the basis for a commercial editor if you wish to do so.
  140.  
  141.  
  142.  
  143.      ┌────────────────────────┐
  144.  B.  │▒▒ Introduction       ▒▒│
  145.      └────────────────────────┘
  146.  
  147.      Msged is a message editor for Fidonet (and compatible) network(s).
  148.      It is derived from Msged, a program written by Jim Nutt, and was 
  149.      subsequently modified by John Dennis to create Msgedsq. After a 
  150.      number of years John Dennis released all his work to the public 
  151.      domain and discontinued support for it.
  152.      
  153.      Paul Edwards picked up the ball at this stage, with support from 
  154.      others. Feel free to pick up either this code or John's final version
  155.      (MSQ22SRC.LZH) and create another development stream, or integrate it 
  156.      in with this version, as you please.
  157.  
  158.      The features of Msged (briefly) are:
  159.  
  160.      -  Small & fast.
  161.      -  Supports the popular Fido (*.msg) and Squish Msg formats.
  162.      -  Message sizes limited only by memory.
  163.      -  Number of messages per area limited only by memory, at
  164.         least for OS/2 (tested with 100800 messages).  The DOS
  165.         version has a limit of a little over 5000 messages per
  166.         echo.  Do not attempt to use more than this.
  167.      -  Support for UUCP and NEWS RFC-822 gated messages.
  168.      -  Handles Zone Gating, Host Routing and Domain Gating automatically.
  169.      -  Has configurable reply/quote functions, as well as configurable 
  170.         information strings.
  171.      -  Supports sharing conventions for all msgbase types.
  172.      -  OS/2 32-bit version (exactly the same).
  173.      -  Completely redefinable keyboard.
  174.      -  Supports multiple usernames.
  175.      -  Has aliases for quick header entry.
  176.      -  Multi-network support across the  board (echomail, netmail...).
  177.      -  Version 7 Nodelist support.
  178.      -  Personal Message scanning for single and multiple areas
  179.      -  Switchable file name being displayed before and after the import
  180.         of a file into a message.
  181.  
  182.      B1. Document Conventions
  183.  
  184.      Some conventions will be observed in this document; keypress
  185.      instructions will look like this: <alt><s>, which instructs you
  186.      to hold down the key labelled Alt and press the letter S. Fido
  187.      refers to the *.msg msgbase type and Squish refers to the Squish
  188.      msgbase type. <address> refers to an address, up to 5D.  "..."
  189.      (ellipsis) means you can have as many of that option as you like.
  190.  
  191.  
  192.      B2. Memory Considerations
  193.  
  194.      Msged needs about 180k to run, but it will use all available
  195.      memory when reading/editing  messages.  Therefore, if you are
  196.      planning to read/write very large messages, you should have a
  197.      corresponding amount of free RAM. I suggest about 220k; you'll
  198.      never run out of memory in Fidonet areas, but if you are reading
  199.      64k messages, add another 70k to that figure.  The amount of
  200.      available free memory is shown to the right hand side of the
  201.      area name, when you are viewing a message.  Of course, none of
  202.      this stuff applies to OS/2.
  203.  
  204.  
  205.      B3. Share Support
  206.  
  207.      Full sharing of both Fido and Squish msgbases are supported for
  208.      DOS 3.3 and above. Naturally, Share.exe must be loaded to make
  209.      this effective and this is STRONGLY recommended when running
  210.      under a multi-tasker (of any description). Sooner or later nasty
  211.      things will happen to your msgbases if you don't.  What the
  212.      heck - share only takes up 7k or thereabouts... DOS v5 users
  213.      should note that share seems to work best when installed from
  214.      config.sys.
  215.  
  216.  
  217.  
  218.      ┌──────────────────────────────────┐
  219.  C.  │▒▒ Configuration Options        ▒▒│
  220.      └──────────────────────────────────┘
  221.  
  222.      C1. Installation
  223.  
  224.      Installing Msged shouldn't be too hard;  simply use the provided 
  225.      config file and edit it to your heart's content. The squish.cfg file 
  226.      that comes with the SquishMail processor can be used for area 
  227.      definitions, as well as the areas.bbs file (used by practically 
  228.      everything on earth). Hopefully when everything is configured you'll 
  229.      simply type "msged" at the DOS command line or "msgedp" at the OS/2 
  230.      command line.
  231.  
  232.  
  233.      C2. Command Line
  234.  
  235.      Msged takes two parameters on the command line: the first is
  236.      the name of the config file, and the second is the areas.bbs or
  237.      squish.cfg file. You cannot have the second without the first;
  238.      see the later section on the "areafile" config line. If you wish
  239.      to have different people using the same program, it's easiest to
  240.      path msged.exe with the config file in the current directory
  241.      (msged loads it from the current dir by default). This would be
  242.      easier than editing the executable file.
  243.  
  244.      ┌ Command Line Syntax ─────────────────┐
  245.      │ msged [<config file> [areafile]]     │
  246.      └──────────────────────────────────────┘
  247.      
  248.      msged returns with an errorlevel that is calculated as follows:
  249.      It starts off with 0, and then:
  250.      If you have entered new netmail, 1 is added to the errorlevel.
  251.      If you have entered new echomail, 2 is added to the errorlevel.
  252.      If you have entered new uucp mail, 4 is added to the errorlevel.
  253.      If you have entered new news mail, 8 is added to the errorlevel.
  254.      If you have entered new local mail, 16 is added to the errorlevel.
  255.      
  256.      So if you get an errorlevel of 18, it means that you have
  257.      entered new local mail, and also new echomail.
  258.  
  259.  
  260.      C3.  Configuration File
  261.  
  262.      The config file is processed from top to bottom;  the placement of 
  263.      verbs in the provided file generally have a purpose.  The moral is:
  264.      don't move things round unless you know what you're doing :-) 
  265.  
  266.  
  267.      C4. Name <username> ...
  268.          ───────────────────
  269.  
  270.      This is fairly obvious; put your full name here.  The first name
  271.      specified will be the default name. You can define more if you
  272.      like (ten maximum), and you can change to these during execution:
  273.      the <ctrl><u> function brings up a pick list for you to choose.
  274.  
  275.  
  276.      C5. Address <address> ...
  277.          ────────────────────────────────────────────
  278.  
  279.      Your network address(es), up to 5D.  You can define as many as
  280.      you like & can choose between them during execution (<ctrl><w>).
  281.  
  282.  
  283.      C6. Alias <alias,name,<[address]|[UUCP]>,subject[,]]> ...
  284.          ───────────────────────────────────────────────────────────
  285.  
  286.      Aliases are used to simplify the entry of names, addresses and
  287.      subjects, rather like macros useable in Carbon Copies and normal
  288.      msg header entry. This way, you simply type in the alias, press
  289.      enter, and the rest is filled in for you. Internet addressing is
  290.      supported as well (see config file for example).
  291.  
  292.  
  293.      C7. Help Files
  294.          ──────────
  295.  
  296.      These are names of external files containing help (or whatever
  297.      you put in them), that will be called to the screen when pressing
  298.      <alt><h>. Some example files are provided. "rhelp" will be read
  299.      when in reader mode (Ie: not editing a message). "ehelp" will be
  300.      read when editing a message. If the text in the file is greater
  301.      than your page length, it will page down at every keypress, the
  302.      <q> key will cause it to quit and return to the reader/editor.
  303.  
  304.  
  305.      C8. Outfile <filename>
  306.          ──────────────────
  307.  
  308.      Msged handles exports in a variety of ways when you press
  309.      <alt><w>.  You can send the text to any character device,
  310.      including files, printers and comports; you just specify the name
  311.      (However, beware of critical errors: they will mess up the screen
  312.      format). You can overwrite or append to an existing file, with
  313.      or without added carriage returns, with message header or
  314.      headless unformatted text, an attribution line header and each
  315.      line quoted or straight from the message. All this is done from
  316.      the reader, exports from within the editor are always straight
  317.      text (and must have been cut from the message using the cut key).
  318.      Outfile is the default filename for export (you can change this
  319.      when you press <alt><w> during execution). 
  320.  
  321.      Putting a "+" in front of the filename will cause the text to be
  322.      appended to the file. Otherwise the file will be overwritten.
  323.  
  324.      Putting a "?" in front of the filename indicates you want to be
  325.      asked whether to append or not, and how to write out the file.
  326.      Some menus will appear and you choose the action you want.
  327.  
  328.      If you append a ",t" to the end of the filename, the message will
  329.      be exported in plain ASCII form with the message header. Carriage
  330.      returns and linefeeds will be added to the end of each line. If
  331.      you append a ",q" to the end of the filename, the text will be
  332.      exported in quote format.  This means that an attribution line
  333.      will be added to the beginning of the message and each line will
  334.      be preceded by the quote string.
  335.  
  336.  
  337.      C9. Include <filename>
  338.          ──────────────────
  339.  
  340.      This will include the filename and parse it as a configuration
  341.      file.  The statement can be placed anywhere within the msged.cfg
  342.      config file.
  343.  
  344.  
  345.      C10. Lastread <filename>
  346.           ───────────────────
  347.  
  348.      Msged creates a file to keep track of the last read message in
  349.      Fido (Only! Squish areas have their own lastread file name which
  350.      is not alterable), areas. This lets you specify the name of that
  351.      file. Often handy if you have two sysops and don't want to stuff
  352.      up each others' lastreads.
  353.  
  354.  
  355.      C11. Tosslog <filename>
  356.           ──────────────────
  357.  
  358.      This file is appended to every time you exit from Msged; it
  359.      contains a list of the *echomail* areas you entered messages in;
  360.      one per line. Echomail processors use this information to speed
  361.      up the scanning out of echomail.
  362.  
  363.  
  364.      C12. Primary and Secondary Userlist
  365.           ──────────────────────────────
  366.  
  367.      This is the name of the userlist(s) used for looking up the
  368.      addresses of names you enter in the message header. This file is
  369.      normally created by your nodelist compiler, but it can be created
  370.      by anything.  Each line must be EXACTLY THE SAME LENGTH and
  371.      sorted. The names should be left justified, with the addresses
  372.      beginning after column 40. Both are optional, with the first one
  373.      being checked first, then the second one will checked if the name
  374.      is not found in the first list.
  375.  
  376.  
  377.      C13. Swappath <path to swapfile>
  378.           ───────────────────────────
  379.  
  380.      Put the path to your swapfile here - only for DOS users but it
  381.      should definetely be used. If you don't use it, you must return
  382.      to the msged directory to return to the editor.
  383.  
  384.  
  385.      C14. Curstart <start scanline>
  386.           ─────────────────────────
  387.  
  388.      This is the start scanline of your cursor. Usually 6 on EGA/VGA
  389.      displays, but can start at 0 and end at 14.  I suggest using a
  390.      value of 11 here if you are using a monochrome monitor.
  391.  
  392.  
  393.      C15. Curend <end scanline>
  394.           ─────────────────────
  395.  
  396.      This is the end scanline of your cursor. Usually has a value of
  397.      7 on EGA/VGA display types, but value can go to 14.  I suggest
  398.      using a value of 12 here if you are using a monochrome monitor.
  399.  
  400.  
  401.      C16. Nodepath <path to nodelists>
  402.           ────────────────────────────
  403.  
  404.      Put the path to the version 7 nodelists here.  If you have more
  405.      than one, they should all be in the same directory.
  406.  
  407.  
  408.      C17. Nodelist <domain name> <base name> <sysop file name> ...
  409.           ────────────────────────────────────────────────────────
  410.  
  411.      Any version 7 nodelists are entered here. The domain name is the
  412.      name of the domain (used only when picking which nodelist to use
  413.      for lookup), the base name is the name minus the extension (ie.
  414.      nodex), and the sysop file name is the name of the sysop lookup
  415.      file. Msged will only use one file for lookup, and by default
  416.      this is the first nodelist in the config file.  You really only
  417.      have to bother with more than one if the zones in one domain
  418.      interfere with the zones in the other(s) - otherwise you simply
  419.      put all the domains in one nodelist.
  420.  
  421.  
  422.      C18. AreaFile <s[quish]|a[rea]> [[path][filename]]
  423.           ──────────────────────────────────────────────
  424.  
  425.      You can tell Msged to look for area information (Echomail and
  426.      Netmail) in other files besides the configuration file. Because
  427.      the config file is parsed from top to bottom, the positioning if
  428.      this line determines where the areas (defined in these files),
  429.      will appear in the pick list. If you specify a name, it will use
  430.      it or search for the default names (AFTER it has processed the
  431.      rest of the file). The default file names are:  squish.cfg or
  432.      areas.bbs, depending on what type you chose.  Please note that
  433.      you can only read one type of file.  See "Area Definitions"
  434.      section for more hints on usage.
  435.  
  436.      Msged will obtain all area addressing information from the
  437.      squish.cfg and areas.bbs file ("-p<node>" in both files), and
  438.      will assume this address when you enter the areas.  Passthru
  439.      areas will NOT be read into the picklist - they are ignored.
  440.  
  441.      If you wish to use the command line, you mustn't specify a
  442.      filename on this line, because it will use this name over the
  443.      command line (this is ok, because it will also search for the
  444.      default names if one has not been specified). You can get round
  445.      this by using other config files or not specifying a name.
  446.      Whichever you prefer.
  447.  
  448.  
  449.      C19. Useroffset <offset into sql file>
  450.           ─────────────────────────────────
  451.  
  452.      This applies only to squish areas, and tells Msged what record
  453.      (not byte! each record is 4 bytes), to use in the squish lastread
  454.      files. Please remember this is zero based, ie: the first record
  455.      is zero (and this is usually the sysop record on most systems).
  456.  
  457.  
  458.      C20. QQuotes
  459.           ───────
  460.  
  461.      As default, this is commented out, giving an operation much the
  462.      same as Maximus v2.0, that is: when quoting, quotes will not have
  463.      the quote prefix added to the line (text will, tho).  With this
  464.      enabled, Msged will attempt to find the first ">" and place
  465.      another ">" behind it on lines already quoted.
  466.  
  467.      ┌ Example ─────────────┐
  468.      │ " CV>> what?"        │
  469.      └──────────────────────┘
  470.  
  471.  
  472.      C21. SqlLast
  473.           ───────
  474.  
  475.      Msged operates the same Maximus with this line *commented out*.
  476.      It will save the message you are currently reading, so when you
  477.      return to that area, you will go to that message. With this line
  478.      *uncommented*, the highest numbered message read will be saved,
  479.      so you can miss messages when re-entering an area if you had
  480.      <crtl><rght arrow>'ed before, but had not read as far when you
  481.      went back to the downlink and continued reading.
  482.  
  483.  
  484.      C22. Video <type>
  485.           ────────────
  486.  
  487.      You can use either bios or direct screen writes to control your
  488.      screen. Bios is naturally very slow, so use direct if at all
  489.      possible (which it will be, unless you have a non-standard PC, or
  490.      a weird card). At startup it will obtain the screen dimensions
  491.      from the bios, and will use those dimensions. Therefore you can
  492.      use whatever weird dimensions you like (100x60, 80x43 etc). The
  493.      OS/2 version ignores these settings, but still gets the current
  494.      mode of the screen.
  495.  
  496.  
  497.      C23. Colours <type> <foreground>[+]/<background>[+]
  498.           ─────────────────────────────────────────────
  499.  
  500.      The first word after "colour" is the name of the colour used in
  501.      certain specifications.  The first word after that is the
  502.      foreground colour, and the background colour is separated by a
  503.      "/" character.  If a "+" trails the colour then it is a high
  504.      intensity version of that colour.
  505.  
  506.  
  507.         Normal
  508.           This colour is used for text that you, or others have
  509.           typed. This will account for most of the text that you,
  510.           or others have typed.
  511.  
  512.         Information
  513.           This colour displays information generated by Msged,
  514.           usually information of some sort.
  515.  
  516.         Warnings
  517.           This colour alerts you to potentially destructive
  518.           commands. It's also used for informational messages.
  519.  
  520.         Quotes
  521.           This colour denotes quoted text. Msged decides if
  522.           line is a quote by looking for a ">" character in the
  523.           first 6 characters. Please note that lines considered
  524.           as quotes are treated differently when wrapping lines
  525.           greater that the screen length or quote/right margin.
  526.  
  527.         Blocks
  528.           This colour designates an anchor block, used when
  529.           editing messages, for cutting out text.
  530.  
  531.         Highlighted Text
  532.           This colours is for items/lines that are highlighted.
  533.           (Ie: menus etc).
  534.  
  535.  
  536.      The available Colours are:
  537.  
  538.      bla[ck], blu[e], gre[een], whi[te], red, cya[n], yel[low] and
  539.      mag[enta]
  540.  
  541.  
  542.      C24. Monochrome Monitors
  543.           ───────────────────
  544.  
  545.      You'll have to play with this to get what you want. Remember
  546.      that monochrome monitors only have 4 colours (incl. reverse and
  547.      intense). Try this for starters:
  548.  
  549.       ┌───────────────────┐
  550.       │ Normal whi /bla   │
  551.       │ Warn  bla /whi    │
  552.       │ Quote whi /bla    │
  553.       │ Block bla /whi    │
  554.       │ Info  whi /bla    │
  555.       │ Hilite Bla /whi   │
  556.       └───────────────────┘
  557.  
  558.  
  559.      C25. Attribution <attribution line>
  560.           ──────────────────────────────
  561.  
  562.      An attribution line is a line containing information about the
  563.      message being quoted (the header details). This line is inserted
  564.      at the beginning of the quoted message. You can insert your own
  565.      text in this line and control the placement of information (or
  566.      lack of it) in the line via tokens.  Tokens represent the point
  567.      where the information is inserted - they are preceded by the '%'
  568.      [percent sign]; the escape sequence signalling the existence of a
  569.      token. Please refer to Appendix C: at the end of this manual
  570.      for a list of all available tokens.
  571.  
  572.  
  573.      C26. Editor <external editor>
  574.           ────────────────────────
  575.  
  576.      This command allows you to specify an external editor to use
  577.      when writing messages.  Your editor must accept a filename
  578.      as the first and only parameter.  You may need to specify the
  579.      full path to your editor.
  580.  
  581.  
  582.      C27. Template <template file>
  583.           ────────────────────────
  584.  
  585.      This command allows you to specify a sign-off signature,
  586.      plus anything else you want, by means of a template file.
  587.      See the example template.msq file for an example of how
  588.      to do this, and also the documentation.
  589.  
  590.  
  591.      C28. Group <"search string"> <name index> <template index>
  592.           ─────────────────────────────────────────────────────
  593.  
  594.      This command allows you to define groups of areas.  E.g.
  595.      you may want to have a "signoff" that says "Team OS/2"
  596.      whenever you enter a message in an OS/2 echo.  You could
  597.      achieve this by going:
  598.      
  599.      Group "OS2" 0 1
  600.      
  601.      Where the name index, 0, is your normal name (from the
  602.      list of names you specified earlier), and the template
  603.      index, 1, is the second template file you have specified
  604.      (with the template keyword).  Presumably your second template
  605.      will have a signature in it with "Team OS/2" in it.
  606.  
  607.  
  608.      C29. Robotname <"robot">
  609.           ───────────────────
  610.  
  611.      This command will allow you to define robotnames that you may use
  612.      frequently.  When msged comes to a message being written to the
  613.      "robot", it will not add a template to the message, this is so that
  614.      you are not required to delete the contents of the message when you
  615.      are sending to robots such as "Areafix" or "Filefix".
  616.  
  617.      The field of "robot" must be added if you use this keyword, and it
  618.      is the name of the robot in which you do not want the template file
  619.      being added to your message, command robotnames are "Areafix",
  620.      "Filefix", "Raid" etc..
  621.  
  622.      Upto 12 robotnames can be used, and Areafix is the default
  623.      robotname if this keyword it not use.
  624.  
  625.  
  626.  
  627.  
  628.      ┌──────────────────────────────────┐ 
  629.  D.  │▒▒ Reply Functions Config       ▒▒│ 
  630.      └──────────────────────────────────┘ 
  631.  
  632.      With this version of msged, you can now change the strings
  633.      inserted into messages by some of the reply functions (this is
  634.      separate to the attribution line discussed above). These lines
  635.      of text are actually attribution lines and use the same tokens.
  636.      Each line corresponds to an action (of a function / procedure) in
  637.      the operation of msged, so they're only inserted when you
  638.      invoke that function (please note that the actions by functions
  639.      can also be altered - see next config section).  The lines
  640.      available are:
  641.  
  642.         Forwardline <attribution line>
  643.           Inserted when forwarding messages. This is not really a
  644.           reply function, but it's nice to be able to alter the
  645.           string.  Note that  this string also applies to
  646.           redirecting as well.
  647.  
  648.         Redirline <attribution line>
  649.           Inserted when redirecting messages.  Not a reply
  650.           function either, but you can specify the inserted
  651.           attribution line here.
  652.  
  653.         Followup <attribution line>
  654.           Inserted when doing a followup  or reply/comment.
  655.           (Message is addressed to the TO: name).
  656.  
  657.         ReplyArea <attribution line>
  658.           Inserted when replying to a message in another area.
  659.  
  660.         ReplyExtra <attribution line>
  661.           Inserted when any function has the "Extra" attribute to
  662.           it.  This is user definable for whatever reasons/text
  663.           you want.
  664.  
  665.  
  666.      D1. AlterFunc <function> <action(s)>
  667.          ────────────────────────────────
  668.  
  669.      You can change the actions of any of the 4 reply functions (tho
  670.      they're already set to the normal actions by default). Please
  671.      note that this binds to that function regardless of what the key
  672.      assignment is. The functions that can be used are:
  673.  
  674.      <alt><q> or "ReplyQuote"
  675.      <alt><n> or "ReplyOtherArea"
  676.      <alt><u> or "ReplyFollow"
  677.      <alt><y> or "ReplyExtra"
  678.  
  679.      The other functions <alt><e> and <alt><r> are not definable. The
  680.      config verb is "AlterFunc", followed by the function name (above,
  681.      in quotes), and then the actions you wish it to do. The actions
  682.      available are:
  683.  
  684.      Q - quote msg and insert normal attribution line
  685.      A - ask for area & insert "ReplyArea" attribution
  686.      F - followup & insert "Followup" attribution (address to TO:)
  687.      E - insert "ReplyExtra" attribution
  688.  
  689.      Note that with the attribution lines a blank line is allways
  690.      inserted between each one inserted.
  691.  
  692.  
  693.      D2. Switches
  694.          ────────
  695.  
  696.      Most of these items are available/switchable in the <alt><s>
  697.      function in the reader.  They are switches that alter the
  698.      operation of msged. Items marked with a <*> are not to be 
  699.      fooled with unless you know what you're doing (Ie: at your own 
  700.      risk; weird things may happen). To turn a switch OFF you must 
  701.      put "switch <switch name> off" in the configuration file.  
  702.      Similarly, go "switch <switch name> on" to switch an option
  703.      on.  In the absence of either command, a default will be
  704.      used.
  705.  
  706.         Msgids 
  707.           Msgids are used to uniquely identify a message coming
  708.           from your system.  Unfortunately no two message editors
  709.           use the same MSGID-generating algorithm, so you cannot
  710.           guarantee that you conform to the MSGID spec unless you
  711.           have only ever used the one message editor for a 
  712.           particular address in a 3-year period.  Most people just
  713.           ignore this problem and use them anyway.  I don't.
  714.           
  715.         Seen-Bys
  716.           With this uncommented, Msged will not display seen-by
  717.           and other textual information when reading or editing
  718.           messages.  It will specifically discard this information
  719.           when reading the message from disk.  Other textual
  720.           information includes tearline and origin line.  Both of
  721.           these lines are inserted by software and not part of the
  722.           user's message.  The only useful information they contain
  723.           (ie the origin address in echomail) is extracted and
  724.           normally displayed at the top of the screen next to the
  725.           user's name.
  726.  
  727.         Confirm
  728.           This will cause a confirmation message to be displayed
  729.           with certain operations (like aborting message entry,
  730.           deleting messages and so-on). With this line uncommented, 
  731.           Msged will NOT ask you any questions when doing ANYTHING
  732.           (except when editing an already-sent message).
  733.  
  734.         Showaddr
  735.           When operating in a multi-network environment, it is
  736.           often handy to know what address you are currently
  737.           using. With this line commented an address will appear
  738.           on the right-hand side of the line displaying the
  739.           current area.
  740.  
  741.  
  742.         Savecc
  743.           In normal CC (Carbon Copy) operation, a duplicate of
  744.           the original message is saved for re-editing sending
  745.           (along with the normal messages that are sent out).
  746.           You can stop this by uncommenting this line.
  747.  
  748.         Rawcc
  749.           This is only useful if the above variable is ON (as it
  750.           is by default). If this is ON, then the raw cc: msg is
  751.           saved, otherwise the first formatted cc: will NOT be
  752.           marked kill/sent and will therefore remain.
  753.  
  754.         Opusdate <*>
  755.           This will stop the date_written and date_arrived fields
  756.           being written to. This only applies to Fido areas.
  757.  
  758.         Softcr <*>
  759.           This doesn't actually do anything at the moment, but if
  760.           you uncomment it, messages with passages of wrapped
  761.           text will lose spaces at the end of lines.
  762.  
  763.         Hardquote
  764.           When switched on, this option causes the column formatting
  765.           to be preserved when quoting, ie it doesn't reformat
  766.           quotes.
  767.           
  768.         Showtime
  769.           Show the current time.  This isn't a real time clock, it
  770.           simply shows what the current date and time were when last
  771.           time the screen was refreshed with a new message.  If you
  772.           don't like the format, position, or colour of this, don't
  773.           switch it on.
  774.  
  775.         Importfn
  776.           Show the current filename on importing of a filename.  It
  777.           will add "<=== File: (filename) ===>" to the begining of
  778.           the file and "<=== End: (filename) ===>" to the end of it.
  779.  
  780.         Statbar
  781.           Shows the status bar alone the bottom of the screen.  It's
  782.           default is on, but you are able to switch it off.
  783.  
  784.  
  785.      D3. Quote <quote string>
  786.          ────────────────────
  787.  
  788.      This should be a sequence of characters that you would like to
  789.      the place at the beginning of each quoted line of text. There are
  790.      some tokens that are replaced with initials:
  791.  
  792.         &    - Replaced with all initials in quoted name.
  793.         _    - Signifies a space.
  794.         ^    - Signifies first initial.
  795.         *    - Signifies second initial.
  796.  
  797.      Please be minimal in what you use - no point in wasting
  798.      bandwidth. See section on quoting for more info.
  799.  
  800.  
  801.      D4. Margins
  802.          ───────
  803.  
  804.      These margins are used when editing and reading messages. If you
  805.      change the screen size while in a DOS shell, be aware that only
  806.      the new length of the screen will be used. The margins will stay
  807.      the same.
  808.  
  809.         Right <right margin>
  810.           The right margin will be used for normal text (anything
  811.           non-quoted), when reading and editing messages. It's
  812.           probably best to use a value close to the width of your
  813.           chosen video mode.
  814.  
  815.         Quoteright <margin to quote to>
  816.           This margin is used when quoting messages. ALL text in
  817.           the quoted message will be wrapped to this margin. Use
  818.           a value about 3/4 of the right margin, so other editors
  819.           can quote your message without disturbing your quotes.
  820.  
  821.         Tabsize <tabsize>
  822.           This is ONLY for use when you press the <tab> key; the
  823.           tab will be expanded into the number of spaces you
  824.           specify here. Tab characters in other messages are not
  825.           expanded.
  826.  
  827.  
  828.      D5. Area Definitions
  829.          ────────────────
  830.  
  831.      Even though you can use a squish config file or an areas.bbs file
  832.      for area definition,  you will undoubtedly wish to define other
  833.      areas not in those files. Duplicate areas are detected only when
  834.      the path is the same, and if this is the case, the flags of the
  835.      later will be added to the former. The syntax is:
  836.  
  837.      <basetype> <msgtype[flags]> <desc> <path> [tag] [addr]
  838.  
  839.      ┌─ For Example ─────────────────────────────────────────────────┐
  840.      │ squish e  "Region 55 Chat" d:\r55_chat r55_chat 3:690/626     │
  841.      │ fido  mpk "Netmail"    d:\net                                 │
  842.      └───────────────────────────────────────────────────────────────┘
  843.              
  844.         The <basetype> can be either "fido" or "squish", depending
  845.         on what msgbase type it is.  If it is squish, then "path"
  846.         must be the full base name (The path + name minus the
  847.         extension). The "msgtype" can be one of the following:
  848.  
  849.  
  850.  
  851.      i.   m (for mail)
  852.              Used  for netmail areas.  Addresses will be
  853.              displayed for both origin and destination, and
  854.              asked for in message header entry.  The userlist
  855.              file(s) will be also used to look up addresses.
  856.              You can also use this for uucp mail, as this is
  857.              where it is usually sent from (you can use a
  858.              separate type for this, but it's often easier this
  859.              way). Note that the crosspost function will not
  860.              work to this areas of this type.  A tag is not
  861.              necessary.
  862.  
  863.      ii.  E (for echo)
  864.              Can be  used for echomail  and news groups.
  865.              Crossposting can be done between such areas. Tags
  866.              ARE necessary, and if not defined, can cause weird
  867.              results.
  868.  
  869.      iii. U (for UUCP)
  870.              These are much the same as netmail areas, except
  871.              the normal method of displaying the address and
  872.              name has changed.  You will see the internet
  873.              address and then the name it's addressed to in
  874.              brackets.  Such areas rely on the text "From: "
  875.              and "To: " being placed in the message somewhere.
  876.              All messages are addressed to the uucp gate you
  877.              specified, you then scan these msgs out as a
  878.              netmail  area  (using  your  favourite  mail
  879.              processor). Tearlines are not appended.
  880.  
  881.      iv.  N (for News)
  882.              Similar to UUCP ares except that the messages are
  883.              not addressed to the uucp-gate. Usually you treat
  884.              this kind of area as and echomail area with your
  885.              mail processor. The advantage being you get a msg
  886.              header style better suited to internet/news msgs.
  887.              Tearlines are not appended.
  888.              
  889.       v. L (for Local)
  890.              Messagebase is not exported to other destinations.
  891.  
  892.         [flags] is optional and defines the bits to  be set
  893.         automatically when creating a message in that area. You can
  894.         turn these bits off and others on when you edit the msg
  895.         header, if you so wish. There can be NO SPACES between each
  896.         flag-type. The bits you can set are:
  897.  
  898.         ┌ Flags ────────────┐
  899.         │ p  - priv         │
  900.         │ h  - hold         │
  901.         │ c  - crash        │
  902.         │ k  - kill/sent    │
  903.         │ d  - direct       │
  904.         └───────────────────┘
  905.  
  906.  
  907.         <desc> is the description of the area, enclosed by quotes,
  908.         so you can have embedded spaces.  The description will
  909.         appear when you use the <alt><a> function (default), with
  910.         the pick list that appears.
  911.  
  912.  
  913.         The location of the msgbase is defined by <path>, which is a
  914.         full path, including drives. If the area is of squish type,
  915.         the path must include the base name of the area, for
  916.         example:
  917.  
  918.       ┌─ Path Example ────────────────────────────────────────────┐
  919.       │ d:\msg\c_echo   ; squish area, resides in \msg dir        │
  920.       │ d:\msg\c_echo   ; fido area, resides in \msg\c_echo dir   │
  921.       └───────────────────────────────────────────────────────────┘
  922.  
  923.         [tag] is necessary for echomail areas; it is used in quite a
  924.         few functions, including the creation of the echomail
  925.         tosslog.  The tag of an area will be the name of the area,
  926.         as used by your favourite echomail processor. THERE can be
  927.         NO TAGS in netmail/uucp/news/local areas!
  928.  
  929.         [addr] is the 5D address to use for this area; this address
  930.         will be used for origin lines, ^aMSGIDs and anything that
  931.         requires an address.  It does not have to be one of your
  932.         aka's, although it is probably wise to do so (so you can
  933.         change the area back, if you decide to change the address of
  934.         the area). The address is only used in echomail and netmail
  935.         areas; if the area is echomail, the address must follow the
  936.         tag, if netmail, there must be NO tag!.
  937.  
  938.  
  939.      D6. Origin <origin line>
  940.          ─────────────────────
  941.  
  942.      Your origin line is a line of text appended to the end of
  943.      echomail messages, that identifies your system. Remember that 
  944.      the address and the " * Origin:" text have to fit on the same 
  945.      line, so keep it short and sweet. The entire origin line should 
  946.      NOT add up to more than 80 characters.  It is possible to use
  947.      different origin lines for different squish areas if you set
  948.      up a file called <area>.SQO in the same place as your 
  949.      messagebase.  If you omit the origin line altogether, it will
  950.      default to using your name instead.
  951.  
  952.  
  953.      D7. Uucp <address>
  954.          ──────────────
  955.  
  956.      A uucp gate is where uucp (email) messages are sent, to be gated
  957.      into the Internet.  This is the 4D address of the gate.  It
  958.      should be in the same domain as you (you can try otherwise, but
  959.      no guarantees). See section on Internet usage.
  960.  
  961.  
  962.      D8. Domain <address>
  963.          ────────────────
  964.  
  965.      A domain gate is similar to a uucp gate, except the gate is with
  966.      a network using a fidonet technology network. (They usually use
  967.      the same software).  Messages sent with the destination domain
  968.      equal to the domain on one of these domain gates will be sent to
  969.      corresponding address, with a ^aDOMAIN kludge inserted into the
  970.      message. See section on netmail usage. You MUST specify the
  971.      domain.
  972.  
  973.  
  974.  
  975.  
  976.      D9. Gate <gate type>
  977.          ────────────────
  978.  
  979.      This is the bit that confuses many people (including me :-).
  980.      There are a number of ways to gate messages: domains are as above
  981.      but gating zones is a different kettle of fish.  When fidonet
  982.      wasn't so big, zone information was hard to get, and mail to a
  983.      different zone had to be achieved by zone gating.  The mail is
  984.      addressed to the zone gate, and a ^aINTL kludge is inserted
  985.      (which specifies the address you want to send the message and
  986.      your address). The zone gate system would then send the mail to
  987.      the other zone, and readdress it to the original address.
  988.      Msged handles all this automatically for you so you don't have
  989.      to worry about it; you just enable it. 
  990.  
  991.      D10. Editkey and Readkey
  992.           ───────────────────
  993.  
  994.      These are discussed in the section about redefining the keyboard.
  995.  
  996.  
  997.      D11. Function
  998.           ────────
  999.  
  1000.      This will also be discussed in the same section as above.
  1001.  
  1002.  
  1003.  
  1004.      ┌───────────────────────┐
  1005.  E.  │▒▒ Using Msged     ▒▒  │
  1006.      └───────────────────────┘
  1007.  
  1008.      Msged operates in its own peculiar way, a way rather different 
  1009.      to other editors (as you may have noticed). The keyword here 
  1010.      is `speed' - msged is meant be small, fast, highly configurable 
  1011.      and quick to operate.  
  1012.       
  1013.      The editor operates in two modes: Reader and Editor. The reader
  1014.      is operative when you're browsing through your msgbase(s), editor
  1015.      when editing messages -- both have a different set of functions
  1016.      and key assignments. But first up, please note: when you fire up
  1017.      Msged, the first screen to appear is informational, showing
  1018.      your current setup. It will remain until a key is pressed -- you
  1019.      should pay attention and ensure it is correct.
  1020.  
  1021.  
  1022.      E1. Screen Format
  1023.  
  1024.     Display 1
  1025.  
  1026.      There are two different displays possible with Msged, the first
  1027.      is as follows:
  1028.  
  1029.       ┌────────────────────────────────────────────────────────────┐
  1030.      1│   NETMAIL                                                  │
  1031.      2│ From:  Paul Edwards, 3:711/934.9                           │
  1032.      3│ To:    Kieran Haughey, 3:711/413.17                        │
  1033.      4│ Subj:  Hate to say it..                                    │
  1034.      5│ Attr:  priv recvd scanned                                  │
  1035.      6│ ───3:711/934.9@fidonet──────────────────────────────────── │
  1036.       │ How's your great new version of msged going?               │
  1037.       │                                                            │
  1038.       │ BFN Paul                                                   │
  1039.       └────────────────────────────────────────────────────────────┘
  1040.       -Shortened to fit-
  1041.  
  1042.      Going down from the top, explaining each line:
  1043.  
  1044.      1 Current Area
  1045.      2 Origin of the message & address
  1046.      3 Destination & address
  1047.      4 Subject 
  1048.      5 Any message attributes
  1049.      6 Seperator for header & text. Also contains current address
  1050.  
  1051.      Along the base of the screen you will see something which looks
  1052.      like the following:
  1053.  
  1054.      Msged   v3.30  │  92 of 103     │                  │  Mem: 258576
  1055.           (1)              (2)                                (3)
  1056.  
  1057.      This is the status bar, and contains the following information:
  1058.  
  1059.      1 Current version number of Msged
  1060.      2 # of current message, total # msgs
  1061.      3 (DOS ONLY) Current amount of memory left
  1062.  
  1063.     Display 2
  1064.  
  1065.      The second of the two displays requires that "switch statbar off"
  1066.      is in your config file.  The display is as follows.
  1067.       ┌────────────────────────────────────────────────────────────┐
  1068.      1│   NETMAIL (104 of 104)                                     │
  1069.      2│ From:  Paul Edwards, 3:711/934.9                           │
  1070.      3│ To:    Kieran Haughey, 3:711/413.17                        │
  1071.      4│ Subj:  Hate to say it..                                    │
  1072.      5│ Attr:  priv recvd scanned                                  │
  1073.      6│ ───3:711/934.9@fidonet───────────────────────── 384134 ─── │
  1074.       │ How's your great new version of msged going?               │
  1075.       │                                                            │
  1076.       │ BFN Paul                                                   │
  1077.       └────────────────────────────────────────────────────────────┘
  1078.       -Shortened to fit-
  1079.  
  1080.      Going down from the top, explaining each line:
  1081.  
  1082.      1 Current Area and the current msg number
  1083.      2 Origin of the message & address
  1084.      3 Destination & address
  1085.      4 Subject 
  1086.      5 Any message attributes
  1087.      6 Seperator for header & text. Also contains current address, it
  1088.         also displays the amount of memory left (DOS version only) to
  1089.         the right of the line
  1090.  
  1091.      In both message displays any links to other messages will appear
  1092.      after the date & time with filled-in arrows pointing in their
  1093.      direction. Please note that you can turn off the display of the
  1094.      current address - it's only really necessary when you're running
  1095.      a multiple-network setup.
  1096.  
  1097.      ┌──────────────────────────────────────┐ 
  1098.  F.  │▒▒ Basic Usage (or a Small Primer)  ▒▒│     
  1099.      └──────────────────────────────────────┘ 
  1100.  
  1101.      Msged is fairly easy to use in reader mode: first you must
  1102.      select the area you wish to read, and then when you are in
  1103.      that area simply use the left and right arrows to move between
  1104.      messages. You add <ctrl> to those keys when you wish to follow
  1105.      a reply thread/chain. The <pgup>, <pgdn>, <up arrow> and <dn
  1106.      arrow> keys are used for viewing the current message. When you
  1107.      are finished with an area, <alt><a> will bring up the list of
  1108.      areas; and you can change to any of these. Exit is achieved by
  1109.      pressing <esc> till you get out.
  1110.  
  1111.      When you exit an area (via <alt><a> or <esc>), the number of the
  1112.      last message read is saved in the lastread file. This number is
  1113.      used when to bring you back to that message when you re-enter the
  1114.      area. So be careful that you exit on the message you want to (Or
  1115.      else you may lose your position).
  1116.  
  1117.      The list function - <alt><l> - is very handy for quickly browsing
  1118.      through the messages in the current area. Messages addressed to
  1119.      you are highlighted so you can quickly view them without reading
  1120.      the whole message area. The config file comes configured so that
  1121.      a press of the enter key will bring you back to the starting
  1122.      message in the area (the first message read upon entering the
  1123.      area).  Combine these two, and you can read your messages
  1124.      quickly, press enter so as to return to the starting message,
  1125.      then go check another area without losing any of your unread
  1126.      messages. 
  1127.  
  1128.      The global personal mail scanning function - <alt-p> - will scan
  1129.      through the messages in each area searching for all messages
  1130.      addressed to the current username, when it finds a personal
  1131.      message, it will stop on that message and allow you to read the
  1132.      message, and reply if you wish to.  Once the scan is finished,
  1133.      it will return to the message area you started from.
  1134.  
  1135.      The local personal mail scanning function - <p> - does the same
  1136.      thing as the global personal mail scanning function except that
  1137.      instead of scanning all areas, it will scan the current area.
  1138.  
  1139.  
  1140.      There are a number of keys used for entering messages, the most
  1141.      commonly used ones being: 
  1142.  
  1143.      <alt><e> - A new message.
  1144.      <alt><r> - Reply to the current message (but not quote). 
  1145.      <alt><q> - Reply to current msg and include it as a quote.
  1146.      <alt><n> - ditto, but put reply in another area. 
  1147.      <alt><u> - Send comments to the addressee of the current
  1148.                 message, quoting current message.
  1149.      <alt><y> - ditto but put msg in another area.
  1150.  
  1151.      For the reference to the key definitions, see the section
  1152.      "Default Reader Key definitions".  Please note:  msged
  1153.      strips all blank lines from the end of your message, and
  1154.      then always inserts a blank line before putting in the
  1155.      tearline and origin line.
  1156.  
  1157.  
  1158.      F1. Quotes & Text Formatting
  1159.  
  1160.      Quotes can cause a lot of trouble for message editors. Normal
  1161.      messages are supposed to be paragraphs of text terminated by a
  1162.      hard carriage return (produced when pressing the enter key). The
  1163.      purpose of this is to allow editors to wrap the text on the
  1164.      display to any desired margin (this also includes quoting).
  1165.      Unfortunately, many editors do not comply with this and terminate
  1166.      all lines with a hard return, effectively making each line a
  1167.      paragraph; causing no end of troubles when one tries to wrap the
  1168.      text to a margin other than the length of the line.
  1169.  
  1170.      Msged attempts to get around this by reformatting the text as
  1171.      it quotes it. It works most of the time, but sometimes goes bye-
  1172.      bye to mars; in which case you may have to manually edit the
  1173.      quote.  To help with this, you are provided with special mode
  1174.      that is active whenever you are editing a quote (the line will be
  1175.      displayed in the quote colour); it works the same as normal text,
  1176.      except that words are wrapped after the quote prefix (obtained
  1177.      from surrounding lines). You do not have to worry about creating
  1178.      the quote prefix yourself in most circumstances.  The only
  1179.      exception (to the quote mode operation) is the <enter> key: it
  1180.      will split the line at the current cursor position and create a
  1181.      new, unquoted line with the remaining text from the previous
  1182.      line.
  1183.  
  1184.      Please remember that the quoted lines are treated differently to
  1185.      normal text; if Msged considers the line a quote, it will copy
  1186.      the quote prefix to any wrapped lines, sometimes causing a large
  1187.      mess (if the line isn't a quote). This generally doesn't happen,
  1188.      as a quote must follow certain rules to be considered one:
  1189.  
  1190.      o  There must be no '<' before the first '>'
  1191.      o  Punctuation characters, except '@', ' ', '-' and ':' are not
  1192.         allowed.
  1193.      o  There can only be alphanumeric chars before the '>', subject
  1194.         to the above exceptions.
  1195.      o  The first '>' must be within the first 11 characters of the
  1196.         line.
  1197.  
  1198.      It works most of the time, excepting the weird quote prefixes
  1199.      some people use from time to time.  Quote margins should be
  1200.      around 65, as most (other) editors use an 80 column display.
  1201.  
  1202.  
  1203.                       
  1204.      ┌────────────────────────────────────────────┐
  1205.  G.  │▒▒ Network Addressing (And Gates)         ▒▒│
  1206.      └────────────────────────────────────────────┘
  1207.  
  1208.      When reading messages in both netmail and echomail, the address
  1209.      of the sender is displayed after their name. Msged does it's
  1210.      best to make sure this address is correct, but it's probable that
  1211.      it will stuff up every now and again. Particularly on messages
  1212.      from other zones (and networks) that don't have any ctrl-a
  1213.      information.  This isn't so common these days, and Msged makes
  1214.      sure it *always* puts in this information in it's own messages.
  1215.  
  1216.      If you're running more than one network you can use the <ctrl><w>
  1217.      function to choose the address you want to use. Msged will use
  1218.      this address when reading messages, so that any information not
  1219.      present will come from *your* address. Commonly the zone is not
  1220.      present, so your zone will be used. For example:
  1221.  
  1222.         You're reading messages from zone 28 (another network) and
  1223.         these messages don't have any ctrl-a info.  Your current
  1224.         address is 3:690/626.4 - all these other-zone messages will
  1225.         have zone 3 instead of 28.  (Because the zone info is not
  1226.         present in the messages themselves).  If you change your
  1227.         address to your zone 28 aka, then all messages will have the
  1228.         correct zone.
  1229.  
  1230.      This tends to be a problem because zone/point/domain information
  1231.      for messages is not transmitted in packets. The only solution is
  1232.      to have ^a (or ctrl-a) kludges with this information. The common
  1233.      ones are (and msged uses these):
  1234.  
  1235.      MSGID   The origin of the message (up to 5D).
  1236.      REPLY   The origin of the message this is a reply to (5D)
  1237.      INTL    The destination and origin of the message (3D).
  1238.      FMPT    Point number of the origin.
  1239.      TOPT    Point number of the destination.
  1240.      DOMAIN  Destination domain and address and the origin domain
  1241.              and address.
  1242.  
  1243.      The whole idea is that msged gets all the network information
  1244.      from these klugdes, and fills it all in for you. It works *most*
  1245.      of the time.  When the information is incorrect you'll have to
  1246.      address the message manually (you have to do this when entering a
  1247.      new message anyway). Remember that what you see on the screen is
  1248.      what msged thinks the address is.
  1249.  
  1250.      If you haven't noticed already, msged WILL allow default
  1251.      addresses for areas -- please look-up the section on area
  1252.      definitions.
  1253.  
  1254.  
  1255.      G1. Network Gating
  1256.  
  1257.         Msged does three types of gating, zone, domain and internet.
  1258.         Zone and Domain gating are used when addressing within fidonet
  1259.         technology networks;  internet gating is a bit different and
  1260.         cannot be mixed with the other methods (see separate section
  1261.         "Internet and Msged"). Please note that if a message is marked
  1262.         "crash" or "direct" it will NOT be gated.
  1263.  
  1264.      G2. Zone Gating
  1265.  
  1266.         Zone gating is well known, and used to be practically the
  1267.         only way to get messages into another zone. This is because
  1268.         while a message is in transit only 2D addressing information
  1269.         is retained in the message header (the net and node). So,
  1270.         to get a message to another zone (without directly sending
  1271.         it), you have to send it to a zone gate; a system specially
  1272.         set up to handle such mail routing. Each zone has gates into
  1273.         other zones already setup with predetermined addresses. 
  1274.  
  1275.         When you have the "gate" config verb set to "zones" or
  1276.         "both" msged will automatically send the message to the
  1277.         correct gate.  The message will contain a ctrl-a kludge
  1278.         (^aINTL) which contains the 3D destination address of your
  1279.         message.  When the message is sent into the other zone it
  1280.         will be readdressed to the original destination using this
  1281.         information.
  1282.  
  1283.      G3. Domain Gating
  1284.  
  1285.         What is it?  Domain gating allows us to communicate with
  1286.         other fidonet technology networks -- generally needed when
  1287.         the "other" network uses the same zones as we do. Usually
  1288.         you send the message to the gate system (the one that
  1289.         transfers mail between the two domains), which then takes
  1290.         your message and readdresses it within the other domain. To
  1291.         do this we need a ^aDOMAIN kludge which contains the
  1292.         destination domain's address as well as your own. To enable
  1293.         this ability, you must put the domain gates in your config
  1294.         file:  the 4D address of the domain gate with domain it
  1295.         gates. You must also have the "gate" config verb set to
  1296.         either "both" or "domains". With this done, msged will
  1297.         gate any messages being written to disk with a destination
  1298.         domain listed as one of the gates. Noate that for this to
  1299.         occur the destination *domain* must be different to your own.
  1300.  
  1301.      G4. Host Routing
  1302.  
  1303.         This seems to be the "modern" replacement of zone gating and
  1304.         works on a similar principle.  Instead of being routed to
  1305.         the zone gate, the message is forwarded to the nearest gate
  1306.         (which may be much closer - there are about 5-6 systems
  1307.         between mine and the Oz-US zone gate; there are closer
  1308.         systems which call the States).  There doesn't seem to be
  1309.         any documentation on how this works but from what I can
  1310.         gather (don't take this as gospel :-), systems simply
  1311.         "forward" the mail till it gets to the destination. It's
  1312.         called "host routing" because the mail is passed on to each
  1313.         system's upline host, or bossnode. 
  1314.  
  1315.         You can do this in msged by putting "gate none" or "gate
  1316.         domains" in the cfg file. In this case, Msged will leave
  1317.         the binary address as-is (but still insert the ^aINTL
  1318.         kludge); there should be no problems.
  1319.  
  1320.  
  1321.  
  1322.      ┌────────────────────────┐
  1323.  H.  │▒▒ Carbon Copies      ▒▒│
  1324.      └────────────────────────┘
  1325.  
  1326.      Carbon copies, or "CC:'s" as they're commonly known, are simply a
  1327.      way of sending copies of the same message to a list of people. A
  1328.      CC: will work in all area types, but the addressing side is only
  1329.      useful in netmail/uucp areas.  Their operation is simple: you
  1330.      enter the list of names, with each line preceded by "cc:", enter
  1331.      the text of the message and save it. Msged will stop looking
  1332.      for names on the first line NOT beginning with "cc:". The rest
  1333.      is automated.
  1334.  
  1335.  
  1336.      ┌ Example ──────────────────────────┐
  1337.      │ cc: joe bloe!3:1/1, fred smith    │
  1338.      │ cc: mike, jd                      │
  1339.      └───────────────────────────────────┘
  1340.  
  1341.      The '!' character delimits an address for the preceding name, if
  1342.      this is specified the name will NOT be looked up. If an address
  1343.      is not present, first the aliases will be checked, then the
  1344.      current nodelist, then the usual fidouser.lst.  Note that with
  1345.      aliases, the alias is replaced with the name, as in the
  1346.      following:
  1347.  
  1348.      (using above; assuming message was addressed to John Dennis)
  1349.      ┌────────────────────────────────────────────────────┐
  1350.      │ * Original to: John Dennis at 3:690/626.4          │
  1351.      │    CC'd to: joe bloe, fred smith, mike mad,        │
  1352.      │         john@miyu.dialix.oz.au                     │
  1353.      └────────────────────────────────────────────────────┘
  1354.  
  1355.      As you will have noticed, the "cc:" lines are deleted and a copy
  1356.      of the new message is sent to all those listed in the "cc:"
  1357.      lines. If you have "no savecc" commented then you will also get
  1358.      a copy of the original message, marked "sent" (which you can edit
  1359.      and re-send). The other messages are marked kill/sent.
  1360.  
  1361.      The text should begin *straight* after the last "cc:" line as a
  1362.      blank line is inserted after the last line entered. If the names
  1363.      will not fit on the first line (they extend past the right
  1364.      margin) then it will they will be wrapped to the next line. This
  1365.      short form is used because normal (read: the old msged way)
  1366.      looked pretty terrible & took up lots of msg text real estate. I
  1367.      know some people prefer the old way... Sorry...
  1368.  
  1369.      You can use UUCP addresses as both aliases and normal entry. If
  1370.      you wish to enter a bangpath, you MUST precede it with a '@'
  1371.      ("at" sign), or it will be confused with a fidonet address (don't
  1372.      worry, it will be stripped).
  1373.  
  1374.  
  1375.  
  1376.      ┌──────────────────────────┐
  1377.  I.  │▒▒ Cross Posting        ▒▒│
  1378.      └──────────────────────────┘
  1379.  
  1380.      Cross posting is similar to Carbon Copies, except the message is
  1381.      posted to the *same* addressee in multiple areas. It ONLY works
  1382.      in echomail areas (because it uses the echomail TAG name). Entry
  1383.      is similar to Carbon Copies:
  1384.  
  1385.      ┌ Example ───────────────────────────┐
  1386.      │ xc: tub, maxdev, muffin, squish    │
  1387.      │ xc: maxutil, blah, baka            │
  1388.      └────────────────────────────────────┘
  1389.  
  1390.  
  1391.      Msged will stop looking for areas when it finds the first line
  1392.      without "xc:" in the first three chars. The "xc:" lines will be
  1393.      expanded to this:
  1394.  
  1395.      ┌─────────────────────────────────────────────────────┐
  1396.      │ * Crossposted to areas TUB, MAXDEV, MUFFIN, SQUISH, │
  1397.      │            MAXUTIL, BLAH, BAKA                      │
  1398.      └─────────────────────────────────────────────────────┘
  1399.                                  
  1400.      If you specify an area that doesn't exist the name will remain in
  1401.      the list (you won't be given an error msg :-).  Again, this
  1402.      reduced format was chosen to reduce the amount of space taken up,
  1403.      and increase readability.  Advice: don't crosspost to too many
  1404.      areas; or you will probably incur someone's wroth (which may or
  1405.      may not be a bad thing... :).
  1406.  
  1407.  
  1408.  
  1409.      ┌─────────────────────────────┐
  1410.  J.  │▒▒ Internet and Msged      ▒▒│
  1411.      └─────────────────────────────┘
  1412.  
  1413.      Msged is sort-of<tm> compatible with messages gated to/from the
  1414.      internet. This means that the internet messages must be stored
  1415.      in fidonet format, generally following the format UFGATE and
  1416.      FredGate use (popular gating programs). You can enter internet
  1417.      messages in both UUCP and netmail areas; it's your choice, tho
  1418.      netmail is probably easiest to work. Smart addresses are simply
  1419.      entered in the destination/origin name fields.  Addressing
  1420.      (fidonet style - the gate address) is handled by msged - you
  1421.      cannot enter them once msged realizes you have entered a
  1422.      internet address.
  1423.  
  1424.      From there you simply type in the text of the message and save
  1425.      it. When it is saved, a "To: " line is added to the beginning of
  1426.      the text and the destination name field is replaced with "UUCP".
  1427.      The destination address used is the uucp gate defined in the
  1428.      config file.
  1429.  
  1430.      When replying to messages gated from internet, the internet
  1431.      address is automatically obtained from any "From: " lines in the
  1432.      message's text and used for the reply.
  1433.  
  1434.  
  1435.  
  1436.      ┌───────────────────────────┐
  1437.  K.  │▒▒ Msged and Points      ▒▒│
  1438.      └───────────────────────────┘
  1439.  
  1440.      Points can work in two ways; the old fashioned fakenet method or
  1441.      the newer (and nicer) 4D way.  If you have to run a fakenet,
  1442.      simply define it in the config file as an aka, and don't worry
  1443.      about it. You MUST define your "real" point address in any case;
  1444.      so your origin line and ctrl-a kludges get the right address.
  1445.      The pointnet will be placed in the binary header in all messages
  1446.      NOT marked "crash" or "direct". If you have a bossnode running
  1447.      squish and bink 2.5, then you'll be able to run a 4D address
  1448.      without any trouble (You have to set it up correctly tho - There
  1449.      is a program called ESC (written by Glen Gilbert) that can manage
  1450.      all this for you). Please note, that if you're using a fakenet
  1451.      you *must* also put it in the squish.cfg file.
  1452.  
  1453.      Other combinations of mailers/tossers may not work so well; i'm
  1454.      reasonably sure you can manage 4D with FrontDoor. It really
  1455.      depends on what your boss runs.
  1456.  
  1457.  
  1458.  
  1459.      ┌─────────────────────────────────────────┐
  1460.  L.  │▒▒ Default Reader Key Definitions      ▒▒│
  1461.      └─────────────────────────────────────────┘
  1462.  
  1463.  
  1464.      When you first start up msged, you will be taken to the Area
  1465.      list, this lists all the echo's or message areas that you have,
  1466.      if you press enter on the first area, or any other area, you will
  1467.      be taken to the Reader Mode. These keys are redefinable, unless
  1468.      otherwise specified. See Appendix A for ReadKey function names.
  1469.  
  1470.  
  1471.      Up Arrow    Scrolls the message up one line.
  1472.      Down Arrow  Scrolls the message down one line.
  1473.      <pgdn>      Display the next page of the current message.
  1474.      <pgup>      Displays the previous page of the current message.
  1475.      <alt><e>    Enter a new message in the current area.
  1476.      <alt><r>    Reply/no quote to FROM name.
  1477.      <alt><q>    Reply/quote to FROM name.
  1478.      <alt><u>    Reply/quote to TO name.
  1479.      <alt><n>    Reply/quote to FROM name in another area.
  1480.      <alt><y>    Reply/quote to TO name in another area.
  1481.      <alt><w>    Writes the current message to device.
  1482.  
  1483.      <alt><m>    Move/forward/copy message.
  1484.              <m> -   Move a message to a selected area.
  1485.              <c> -   Copy a message to another area. 
  1486.              <f> -   Forward a message to another person.
  1487.              <r> -   ditto, but make it from user.
  1488.  
  1489.      <alt><c>      Change header/text of msg, time not updated.
  1490.      <alt><d>      Deletes the current message.
  1491.      <alt><v>      Toggle display of hidden information.
  1492.      <alt><f>      Search for text string in current area.
  1493.      <alt><z>      Search for text string in msg header in current area.
  1494.      <alt><p>      Personal Mail scan in all areas.
  1495.      <p>           Personal Mail scan in current area.
  1496.      Right Arrow   Move to the next message in the current area.
  1497.      Left Arrow    Move to the previous message in the current area.
  1498.      <msg number>  Move to the specified message number.
  1499.  
  1500.      <alt><a>    Change area; Picklist will be displayed;
  1501.              <home>    Move to the first area in the list.
  1502.              <end>     Move to the last area in the list.
  1503.              <pgup>    Move the cursor up one page.
  1504.              <pgdn>    Move the cursor down one page.
  1505.              Up Arrow  Move the previous area.
  1506.              Dwn Arrow Move to the next area.
  1507.              <enter>   Selects the area the cursor is on.
  1508.              <esc>     Returns to the current area.
  1509.  
  1510.      <*>      Scan all available areas for messages.
  1511.      <+>      Moves to the next area with unread messages.
  1512.      <->      Moves to the previous area with unread messages.
  1513.  
  1514.      <alt><l>    Lists (one per line) msgs in current area;
  1515.              Up Arrow   Move up one message
  1516.              Dwn Arrow  Move down one message
  1517.              <pgup>     Move up one page in the listing.
  1518.              <pgdn>     Move down one page in the listing.
  1519.              <alt><a>   Toggles display-addresses (netmail).
  1520.              <esc>      Abort.
  1521.              <enter>    Goto area.
  1522.      <ctrl><Lft>   Move to prev msg in the current message thread.
  1523.      <ctrl><Rght>  Move to next msg in the current message thread.
  1524.      <tab>         Unconditionally go to next message in thread.
  1525.      <home>        Move to the first msg in the current msg thread.
  1526.      <end>         Move to the highest numbered message you've read.
  1527.      <alt><s>      Displays/alter switches.
  1528.      <ctrl><a>     Pick Attribution line.
  1529.      <ctrl><h>     Edit header
  1530.      <ctrl><w>     Change current address.
  1531.      <ctrl><n>     change current nodelist.
  1532.      <ctrl><u>     Change current username.
  1533.      <alt><h>      Read help file.
  1534.      <!>           Execute a dos command.
  1535.      <alt><o>      Shell to the operating system.
  1536.      <esc>         Exit msged.
  1537.  
  1538.  
  1539.  
  1540.      ┌──────────────────────────────────────┐
  1541.  M.  │▒▒ Edit Mode Key Definitions        ▒▒│
  1542.      └──────────────────────────────────────┘
  1543.  
  1544.      Edit mode is operative when editing messages.  They are all
  1545.      redefinable. See Appendix B for EditKey function names.
  1546.  
  1547.      <alt><c>      Cut Anchor To Current Line.
  1548.      <alt><p>      Paste Clipboard Into Text.
  1549.      <alt><i>      Import A Textfile.
  1550.      <alt><w>      Export Message Text To A File.
  1551.      <ins>         Toggle Insert/Typeover Mode.
  1552.      <tab>         Insert Spaces To Next Tab.
  1553.      <Enter>       Break Line At Cursor.
  1554.      <bckspc>      Backspace And Delete or (<ctrl><h>).
  1555.      <del>         Delete Character Under Cursor.
  1556.      <crtl><t>     Delete Word.
  1557.      <alt><k>      Delete To End Of Line.
  1558.      <alt><d>      Delete Current Line.
  1559.      <esc>         Exit To Reader Without Saving.
  1560.      <alt><s>      Save Message, Return.
  1561.      <alt><1>      Execute a single DOS command.
  1562.      <alt><o>      Shell To DOS.
  1563.      Lft Arrow     Move Cursor One Left.
  1564.      Rt Arrow      Move Cursor One Right.
  1565.      Up Arrow      Move Up One Line.
  1566.      Down Arrow    Move Down One Line.
  1567.      <ctrl><pgup>  Move To Top Of Screen.
  1568.      <ctrl><pgdn>  Move To Bottom Of Screen.
  1569.      <pgup>        Move Up One Page.
  1570.      <pgdn>        Move Down One Page.
  1571.      <ctrl><Lft>   Move Left One Word.
  1572.      <ctrl><Rt>    Move Right One Word.
  1573.      <ctrl><home>  Move To First Line Of Message.
  1574.      <ctrl><end>   Move To Last Line Of Message.
  1575.      <home>        Go To Beginning Of Line.
  1576.      <end>         Go To End Of Line.
  1577.      <alt><b>      Count bytes in message.
  1578.      <ctrl><u>     Undelete line.
  1579.      <alt><q>      Toggle quote status of line.
  1580.      <alt><1>      OS command.
  1581.  
  1582.  
  1583.  
  1584.      ┌───────────────────────────────────┐
  1585.  N.  │▒▒ Redefining the Keyboard       ▒▒│
  1586.      └───────────────────────────────────┘
  1587.  
  1588.  
  1589.      Almost all keys are redefinable, with the exception of menu
  1590.      selection, scrolling & paging, help and field editing keys.
  1591.      Don't reassign keys to combinations that include escape or you
  1592.      won't be able to exit.
  1593.  
  1594.      Defining keys assignments in the configuration file requires that
  1595.      you know the extended ASCII codes of the keys. You can determine
  1596.      what the code is by running "msged -k", recording what the
  1597.      keypresses produce, and then exiting by typing 'q'.
  1598.  
  1599.      Key assignments are made in this form:
  1600.  
  1601.         readkey keycode command
  1602.         readkey 0x000d alast
  1603.  
  1604.      or 
  1605.  
  1606.         editkey keycode command
  1607.         editkey 0x0016 undelete
  1608.  
  1609.      The keycode must be in the format shown above (hexadecimal).
  1610.      If you don't know, the "0x" simply means that the number is
  1611.      hexadecimal, and it must be there.
  1612.  
  1613.  
  1614.      N1. Function Key Macros
  1615.  
  1616.  
  1617.      Msged is capable of executing macros, a pre-recorded set of
  1618.      keystrokes that can be executed by pressing one key. Macros are
  1619.      assigned to the function keys and their <crtl> <alt> and <shift>
  1620.      counterparts; 40 in all.  Function 0 is a special case, it is
  1621.      executed on startup. The rest are:
  1622.  
  1623.      1-10    <f1>        - <f10>
  1624.      11-20   <shift><f1> - <f10>
  1625.      21-20   <ctrl><f1>  - <f10>
  1626.      31-40   <alt><f1>   - <f10>
  1627.  
  1628.      The function number is preceded by "function" and trailed by the
  1629.      macro itself.  Keystroke numbers are limited only by available
  1630.      memory - it is possible to store a canned message as a macro.
  1631.  
  1632.      N2. Caveats
  1633.  
  1634.      Macros are active throughout msged's operation.  Recursive
  1635.      macros are not supported.  Generally you can abort a macro by
  1636.      pressing <esc>, but this is not guaranteed :-)  
  1637.  
  1638.  
  1639.  
  1640.      ┌────────────────────────────────────┐
  1641.  O.  │▒▒▒ Contacting the Author        ▒▒▒│ 
  1642.      └────────────────────────────────────┘ 
  1643.  
  1644.  
  1645.      When contacting me for help, please think about whether you can
  1646.      get an answer locally first; it saves everyone trouble. You can
  1647.      send me messages in the MSGED_ECHO and netmail. 
  1648.      
  1649.      Bug reports are welcome, but bug fixes are much preferred, if you
  1650.      can either do that yourself, or find someone locally who can
  1651.      program in C.
  1652.  
  1653.      Most of all: _RTM_ before calling (please!). If you think
  1654.      the documentation is inadequate, and you ask me for help, I
  1655.      would appreciate it if you used the information I give you to
  1656.      reword the documentation and send me the new doco.
  1657.  
  1658.  
  1659.  
  1660.      ┌───────────────────────────────────────┐
  1661.  P.  │▒▒ Hints/Panic Questions Etc.        ▒▒│
  1662.      └───────────────────────────────────────┘
  1663.  
  1664.      Q. My othernetwork<tm> mail gets scanned out to my Fido
  1665.         address! What the @#!*)$* is happening here?!
  1666.  
  1667.      A. You must include all your addresses in the squish config
  1668.         file. The area definitions in the squish config file must
  1669.         have a -p<node> with node being the primary address for that
  1670.         area.  After you've checked that, check out the msged
  1671.         config files;   if you're using  squish.cfg for area
  1672.         definitions, you shouldn't have any trouble. If not, make
  1673.         sure you have the address on the area definition lines (see
  1674.         section on area definition).
  1675.  
  1676.         Set the show addresses switch on and go to the area in
  1677.         question & have a look. If it's a netmail area, check that
  1678.         you've got your squish routing file correct.  If you're
  1679.         using FD, you should have no worries as long as the aka's
  1680.         have been defined in the FDsetup proggy. Failing all this,
  1681.         ask someone... :-)
  1682.  
  1683.      Q. I'm a point and my mail bounces back to me from my bossnode!
  1684.  
  1685.      A. Your bossnode probably hasn't got 4D setup completely; if
  1686.         your mail is coming to you with your fakenet in the seenbys,
  1687.         use AddToSeen (in squish.cfg) with your fakenet address. I
  1688.         have yet to see a true 4D system setup :-/ There are some
  1689.         funny things that happen around here - feel free to netmail
  1690.         me on this one...
  1691.  
  1692.      Q. My messages are being routed to the zonegate, even though I
  1693.         have "gate none" in my msged config file. OR: My messages
  1694.         aren't being routed to the right zone (when you see the
  1695.         address when squish squashes the netmail area).
  1696.  
  1697.      A. Make sure you've got all the gaterouting stuff in squish.cfg
  1698.         either setup correctly, or commented out. You can see the
  1699.         binary address in netmail areas when you do an <alt><l>. If
  1700.         you're a point and you have pointnet defined in msged.cfg
  1701.         (and you're setup as 4D in squish), make sure you have the
  1702.         fakenet addr defined as an Address in squish.cfg. This gets
  1703.         pretty confusing, I know, but it's all a matter of setting
  1704.         squish so that it knows where the addresses in your msg are
  1705.         coming from.
  1706.  
  1707.      Q. My mailer is barfing on some really weird zones and point
  1708.         addresses from my *.msg netmail areas. This never happened
  1709.         until I used msged!
  1710.  
  1711.      A. Some mailers (and editors) use and undefined part of the
  1712.         *.msg header for zone and point information. Msged (and
  1713.         Maximus, Squish  and many  others) use this  for the
  1714.         date_written and date_arrived fields. You can turn this off
  1715.         by putting "no opus" in your msged config file.
  1716.  
  1717.      Q. I keep on losing my cursor when I shell to dos then return.
  1718.  
  1719.      A. Due to the large number of cards floating about, msged is
  1720.         only (known to be) compatible with EGA and VGA video
  1721.         adapters.  If you can provide me with a way (in asm, or C)
  1722.         to identify your card *and* turn off/on the cursor, I will
  1723.         attempt to put it in future versions of msged.  However,
  1724.         if you know what the your cursor size is, use the curend and
  1725.         curstart config file verbs to set up your cursor size...
  1726.  
  1727.      Q. When squish is tossing in the background I sometimes get
  1728.         empty areas, even tho I know there are messages in them.
  1729.  
  1730.      A. Squish (from what I can observe), keeps as many areas open
  1731.         when tossing to the msgbases; and when open it locks them
  1732.         from access to other programs.  If this happens, you will
  1733.         have to retry opening the area (<alt><a> and picking it
  1734.         again), until squish has finished with it. If squish locks
  1735.         a msgbase while you are in it, you may have troubles writing
  1736.         to the msgbase.  I would suggest that you NOT write while
  1737.         the msgbase is locked (this usually only happens when squish
  1738.         is tossing/scanning to a msgbase), although it *should* be
  1739.         safe (Msged does use the MsgAPI released by Scott).
  1740.         Of course, you can't tell if the msgbase is locked until
  1741.         something happens... Msged will try to detect this and
  1742.         will stop and then ask you to try writing again.
  1743.  
  1744.      Q. I was in an FIDO area with squish was running in the
  1745.         background. When I tried to go to the next msg/prev msg,
  1746.         msged locked up & required reboot to continue...
  1747.  
  1748.      A. Msged did NOT lock up; simply, the messages that it was
  1749.         trying to go to (stored in internal list) were not there
  1750.         anymore;  squish probably deleted them/it (kill/sent). To
  1751.         get out of this, use <alt><l> to find a message that is
  1752.         there, and then re-scan the area.
  1753.  
  1754.      Q. I'm trying to send msgs to a UUCP gate, and the msgs seem to
  1755.         be not set up right... I have the domain gates set up in the
  1756.         config file!
  1757.  
  1758.      A. UUCP and domain gating are NOT compatible, or even the same
  1759.         thing!  Domain gating is only for messages into FTN
  1760.         networks; UUCP gating requires a few other kludges for it to
  1761.         work.  You MUST set up the UUCP gate ("uucp <gate>") in
  1762.         msged.cfg for it to work. Addresses are entered in the name
  1763.         field (ie: john@miyu.dialix.oz.au), not the address field.
  1764.  
  1765.  
  1766.      P1. Hints
  1767.  
  1768.      Points: If you can (bossnode running 4D aware mailer/tosser) 
  1769.              then remove pointnets from  sight in msged.cfg. If 
  1770.              you have to (areafix?) then use the pointnet as another
  1771.              address, and switch to it when needed.
  1772.  
  1773.      Multitasking: If you're running a multi-tasking system with
  1774.              users online, and squish tossing etc; you should
  1775.              rescan the current area if you know some new msgs
  1776.              have been written (and you want to read them).
  1777.              Msged keeps an internal list of msgs, and this
  1778.              will need to be updated to reflect the msgs every
  1779.              now and again...
  1780.  
  1781.  
  1782.  
  1783.      ┌───────────────────────────────────────────┐
  1784.      │▒▒ Appendix A: ReadKey Function Names    ▒▒│
  1785.      └───────────────────────────────────────────┘
  1786.  
  1787.      ReadKey Commands
  1788.  
  1789.      next_area  goto Next area with unread msgs.
  1790.      last       goto highest read message in area.
  1791.      view       toggle veiwing of hidden notes.
  1792.      search     find a text string.
  1793.      reply      reply to current message (no quote).
  1794.      export     write current message to file.
  1795.      list       list messages in area.
  1796.      exit       exit the reader.
  1797.      next       go to next message.
  1798.      followup   reply/comment to TO: name.
  1799.      first      goto first message in msgbase.
  1800.      chnodel    change lookup nodelist.
  1801.      previous   goto previous message.
  1802.      link_to    goto up-link for message.
  1803.      home       goto first message in reply chain.
  1804.      delete     delete current message.
  1805.      quote      reply/quote current message.
  1806.      dos        do a dos command.
  1807.      change     change current message.
  1808.      prev_area  goto previous area with unread messages.
  1809.      chngaddr   change current address for area.
  1810.      attrib     choose attribution line.
  1811.      slast      goto last message in area.
  1812.      name       change the username.
  1813.      link_from  link downwardsfrom current message.
  1814.      shell      go to an operating shell.
  1815.      newmsg     create a new message.
  1816.      move       get move menu.
  1817.      config     change msged switches.
  1818.      null       do nothing.
  1819.      scan       scan areas for new messages.
  1820.      repoth     reply to message in another area.
  1821.      u-next     go to uplink from current msg (no menu).
  1822.      astart     go to first msg read when entering area.
  1823.      pmail      personal mail scan (all areas)
  1824.      spmail     personal mail scan (current area)
  1825.  
  1826.  
  1827.      ┌───────────────────────────────────────────┐  
  1828.      │▒▒ Appendix B: EditKey Function Names    ▒▒│ 
  1829.      └───────────────────────────────────────────┘  
  1830.  
  1831.      backspace  move cursor back one, deleting current char.
  1832.      left       move cursor left one char.
  1833.      wordright  move cursor one word right.
  1834.      newline    add a hard return and goto begining of next line.
  1835.      down       move cursor down one line.
  1836.      pgdn       move cursor down one page.
  1837.      goeol      move cusor to end of line.
  1838.      anchor     create anchor for cut/paste.
  1839.      quit       quite the message editor.
  1840.      import     import text (from file) into editor.
  1841.      shell      goto operating system shell.
  1842.      insert     toggle insert mode.
  1843.      tab        move cursor tab spaces to right.
  1844.      top        goto top of page.
  1845.      first      move cursor to top of message.
  1846.      del        delete char under cursor.
  1847.      toggleq    toggle quote status of line.
  1848.      deleol     delete everything to end of line.
  1849.      right      move cursor right one char.
  1850.      wordleft   move cursor left one word.
  1851.      up         move cusror up one line.
  1852.      pgup       move cursor up one page.
  1853.      delline    delete current line.
  1854.      cut        cut from current line to the anchor point and add
  1855.                 to the clipboard.
  1856.      paste      paste from clipboard to current position.
  1857.      abort      abort editing of message.
  1858.      export     write text in clipboard to file, or if no text in
  1859.                 clipboard, write whole message.
  1860.      gobol      move cursor to the beginning of line.
  1861.      undel      undelete line (last 30 are saved).
  1862.      null       do nothing.
  1863.      bottom     move to the bottom of page.
  1864.      last       move tolast line in message.
  1865.      killword   kill word under cursor.
  1866.      bytecount  display total bytes in message.
  1867.      oscmd      Do an os command.
  1868.  
  1869.  
  1870.  
  1871.      ┌───────────────────────────────────────────┐  
  1872.      │▒▒ Appendix C: Template Token Names      ▒▒│       
  1873.      └───────────────────────────────────────────┘                              
  1874.  
  1875.      %yms    // year msg               
  1876.      %yno    // year now               
  1877.      %mms    // month msg               
  1878.      %mno    // month now               
  1879.      %dms    // day msg                
  1880.      %dno    // day now                
  1881.      %wms    // weekday msg              
  1882.      %wno    // weekday now              
  1883.      %tnm    // time msg normal            
  1884.      %tnn    // time now normal            
  1885.      %tam    // time msg atime            
  1886.      %tan    // time now atime            
  1887.      %ofn    // orginal from name           
  1888.      %off    // original from first name       
  1889.      %otn    // original to name           
  1890.      %otf    // original to first name        
  1891.      %osu    // original subject           
  1892.      %ooa    // original origin address        
  1893.      %oda    // orginal destination address      
  1894.      %fna    // from name               
  1895.      %ffn    // from first name            
  1896.      %fad    // from address             
  1897.      %tna    // to name                
  1898.      %tfn    // to first name             
  1899.      %tad    // to address              
  1900.      %sub    // subject                
  1901.      %una    // current user name           
  1902.      %ufn    // current user first name            
  1903.      %uad    // current user address         
  1904.      %ceh    // current echo tag (before area change) 
  1905.      %oeh    // old echo tag             
  1906.      %ims    // iso date of message
  1907.      %ino    // iso date now
  1908.      %cms    // 4-digit year of message
  1909.      %cno    // 4-digit year now
  1910.      
  1911.  
  1912.      ┌───────────────────────────────────────────┐  
  1913.      │▒▒ Appendix D: Origin Line philosophy    ▒▒│ 
  1914.      └───────────────────────────────────────────┘  
  1915.      
  1916. A number of people have asked why the treatment of origin lines
  1917. is different in this version of MSGED.  The reason is as follows:
  1918.  
  1919. Originally, all control information was stored in the header of
  1920. the message.  That is where you will find the date that the
  1921. message was written, for example.
  1922. Then the designers realised that they needed to specify more
  1923. information, which they hadn't allowed room for in the header
  1924. (and there was no expansion capability in the header).  So they
  1925. decided to intrude on the user's text.  However, to distinguish
  1926. between what the user wrote and what was control information,
  1927. they prefixed the control lines with x'01'.  This makes for a 
  1928. clear distinction between control information and user text.
  1929. Unfortunately, when it came time for expansion to provide
  1930. echomail, the designers DIDN'T put a x'01' in front of the new
  1931. control lines that they created, which is completely mad.  It is
  1932. far too late to change that now, so we have to live with the 
  1933. following abortions:
  1934.  
  1935. Area line, e.g. AREA:MSGED_ECHO
  1936. Tearline, e.g. --- msged
  1937. Origin line, e.g.  * Origin: Big BBS (3:666/666)
  1938. SEENBY lines, e.g. SEEN-BY: 711/934 809
  1939.  
  1940. There is no doubt that these lines are control lines, as they
  1941. are governed by an FTS spec (FTS-4), and are always inserted
  1942. by software (ie the user never types " * Origin: xxxx" when
  1943. they post messages from your BBS, to make sure they conform
  1944. to the appropriate spec - ROFL!).
  1945.  
  1946. Now the way MSGED works is that it adds the control information
  1947. whenever you save the message.  It strips all the old stuff and
  1948. adds the new stuff.  However, it is very difficult (actually it
  1949. is impossible if tearline and origin line are not compulsory,
  1950. which they may or may not be, depending who's interpretation of
  1951. the spec you use) to determine whether a line beginning "---" is
  1952. a control line (ie inserted by software) or whether the user
  1953. typed it in.  Ditto for Origin and SEENBY, and even AREA.  The
  1954. way MSGED 2.2e handled the situation was to delete all lines that
  1955. started "SEEN-BY:" regardless of whether the user typed them in 
  1956. or not, and if it found any occurrences of "---" or "* Origin"
  1957. in a message that was not brand new, it would assume that these
  1958. messages already had a tearline, and not insert a tear or origin.
  1959.  
  1960. ie, if you want to see MSGED/SQ 2.2e get fooled, just go in and
  1961. create a message and save it (after which it will have got a
  1962. tearline and origin inserted), go and type "--- something" on
  1963. a line near the top, go and delete the "---" down the bottom,
  1964. and you will find it does not insert a tearline, and your
  1965. message is technically invalid, according to some interpretations
  1966. of FTS-4 (my interpretation says that both tearline and origin
  1967. line are compulsory, others think they are both optional).  In
  1968. either case, MSGED is designed to insert them.
  1969.  
  1970. Anyway, to ensure that there is NO doubt whatsoever as to which
  1971. bit is user-text and which bit is control information, without
  1972. having to make arbitrary decisions like "don't let the user
  1973. type "---" or "SEEN-BY" etc", I did the following:
  1974.  
  1975. 1. Add the SOT/EOT kludge lines to bracket the user text.
  1976. 2. Don't (normally) display the origin, tearline or seenbys.
  1977.  
  1978. Thus if you are set up this way (ie you have "switch soteot on"
  1979. and "switch seen-bys off") then you will never see anything in
  1980. the text space except user text, ie what you were originally
  1981. meant to see!  Furthermore, you can enter "---" or any other
  1982. text, and MSGED knows that it is ALL just user text, and will
  1983. not try to treat that as a control line.
  1984.  
  1985. However, if you choose to display this control information,
  1986. then it means the user-text has been corrupted with control
  1987. information, which means it needs to be stripped out before
  1988. adding a new tearline and origin line.  That is why if you
  1989. enter "---" in a message and you have "switch seen-bys on",
  1990. then that line will be deleted.  Since "---" is just normal
  1991. ascii text, you probably don't want it to be stripped,
  1992. therefore, don't pollute your user text with control information
  1993. by switching seen-bys on!
  1994.  
  1995. Similarly, if you switch soteot off, then there is no way, when
  1996. reading a message from disk, to tell whether a "---" is a tearline 
  1997. or a bit of user text, so it will be stripped unless it is
  1998. bracketed with SOT/EOT.  So I suggest you don't lose the clear
  1999. bracketing of user-text, and instead make sure you have soteot
  2000. switched on.
  2001.  
  2002. Actually, it is pretty silly even having the distinction between
  2003. control information which is prefixed by x'01' and that which
  2004. isn't.  It would be more appropriate to have just the one
  2005. "shownotes" which shows either all of the control information,
  2006. or none of it.  I may make this change in a future release of
  2007. MSGED.
  2008.  
  2009. BTW, there is some useful control information in the origin line,
  2010. namely the origin address.  MSGED extracts this information and
  2011. displays it next to the "from" name.  Which means the only thing
  2012. that isn't displayed is the free-format text in the origin line,
  2013. which is meant to contain the system name (although some people
  2014. put something silly there instead).  If you want to see the 
  2015. origin line for it's joke value, I suggest instead that you FREQ
  2016. JOKES01.ZIP from my system, or one of the many other joke files
  2017. that are around, or tag AUST_HUMOUR, or the international HUMOR
  2018. echo.  If you want to know the system name, then there is a switch 
  2019. "showsystem" which will look up the system name in the nodelist.
  2020.  
  2021. In summary, I strongly recommend:
  2022. switch seen-bys off
  2023. switch soteot on
  2024.  
  2025.  
  2026. One other note.  Anyone who transmits SOT/EOT signifies that any
  2027. x'8d' in a message is a real character, not a soft-CR.  MSGED
  2028. picks up on this and will display x'8d' on a message that has
  2029. SOT/EOT, but delete them on messages without.  This is of
  2030. importance to non-English-speaking countries who use that character
  2031. as part of their alphabet.  Both Russia and Japan are two countries
  2032. that I know of that use this character.
  2033.  
  2034.  
  2035.      ┌────────────────────────────┐  
  2036.      │▒▒ Appendix E: Credits    ▒▒│ 
  2037.      └────────────────────────────┘  
  2038.      
  2039. The following people have contributed significantly to MSGED.
  2040. There are probably others, but I don't remember them at the
  2041. moment, or never did (before my time).  I just didn't want the
  2042. recent work of some people to go unmentioned:
  2043.  
  2044. Jim Nutt, for the original version
  2045. John Dennis, for the squish version
  2046. Paul Edwards, for the 32-bit OS/2 port etc
  2047. Bill Grimsley, for documentation update and icon
  2048. Bill Bond, for enhancements and bug fixes
  2049. Kieran Haughey, for many updates for 3.30
  2050. Matthew Parker, for many major technical breakthroughs.
  2051. Andrew Clarke, for MANY code changes
  2052. David Begley, for code changes
  2053.  
  2054. and indirectly, Scott Dudley for the MSGAPI which is used to
  2055. access Squish (TM) areas.
  2056.  
  2057.  
  2058.      ┌──────────────────────────────────────┐  
  2059.      │▒▒ Appendix F: Miscellaneous Notes  ▒▒│ 
  2060.      └──────────────────────────────────────┘  
  2061.  
  2062. This section is for random things that haven't been merged into
  2063. the documentation.  It's free format, because otherwise you 
  2064. won't get anything.  It also might not be accurate.
  2065.  
  2066. You can go '*' in the area list.
  2067. You can edit the message header (only) with ctrl-h, or alt-numeric8.
  2068. You can have origin lines for different areas by using *.SQO,
  2069.   or else AREAS.BBS.
  2070. You can continuous scroll up in the message list with the mouse.
  2071. You can use "<" and ">" to do a ROT-13.  There is also a "rotate"
  2072.   function you can assign a key to.
  2073. You can use "Color" instead of "Colour" for people from 
  2074.   non-English-speaking backgrounds.
  2075. The following cc's are available:
  2076.   vc: verbose cc
  2077.   bc: blind cc
  2078.   cc: ~filename      (read cc's from file)  
  2079. You can do a reverse-search, or reverse-header-search, by going
  2080.  left-arrow first, to set the "direction" flag to backwards.  You
  2081.  can clear that direction flag at any time with "right-arrow".  
  2082. You can enter an address in the "to" field of a netmail message,
  2083.  and the sysop name will be substituted.
  2084. The utilities "helpinfo" "helpcmp" and "keycode" have been replaced
  2085.  by "msged -hi", "msged -hc" and "msged -k" respectively.
  2086.  
  2087.  
  2088. End of Msged Documentation
  2089.  
  2090.